package trabalho1;

public class ImportarDadosVendas extends ImportarDados{
    
    private final int QtdeAtributos = 4;
    
    private Venda[] vendasTxt;
    private final LerDat lerDat = new LerDat(); 
    private Venda[] vendasDat = lerDat.getVendas();
    
    private final Produto[] produtos = lerDat.getProdutos();
    private final Vendedor[] vendedores = lerDat.getVendedores();
    
    @Override
    public void atribuir(){
        String dataVenda = null;
        String quantVendidaProduto = null;
        String codigoProduto = null;
        String codigoVendedor = null;
        String[] linhas = super.getLinhas();

        int i = 0;
        int j = 0;        
        vendasTxt = new Venda[linhas.length / QtdeAtributos];
        
        do{            
            dataVenda = linhas[i];
            quantVendidaProduto = linhas[i+1];
            codigoProduto = linhas[i+2];
            codigoVendedor = linhas[i+3];
            
            vendasTxt[j] = new Venda(dataVenda, quantVendidaProduto, 
                    codigoProduto, codigoVendedor);      
            
            i+= QtdeAtributos;
            j++;
        }while(i<linhas.length - (QtdeAtributos - 1));        
    } 
    
    private boolean existeProduto(String codigoProduto){
        for (Produto produto : produtos) 
            if (produto.getCodigoProduto().equals(codigoProduto)) 
                return true;        
        return false;                
    }
    
    private boolean existeVendedor(String codigoVendedor){
        for (Vendedor vendedor : vendedores) 
            if (vendedor.getCodigoVendedor().equals(codigoVendedor)) 
                return true;        
        return false;
    }
    
//    private void atualizarPrecos(){
//        int j = 0;        
//        for(int i=0; i<vendasTxt.length; i++)
//            if (existeProduto(vendasTxt[i].getCodigoProduto()) && 
//                    existeVendedor(vendasTxt[i].getCodigoVendedor())){
//
//                vendasDat[j].setDataVenda(vendasTxt[i].getDataVenda());
//                vendasDat[j].setQuantVendidaProduto(vendasTxt[i].getQuantVendidaProduto());
//                j++;
//            }
//    }

    public ImportarDadosVendas(String nomeArquivo) {
        super(nomeArquivo);
        dividirEmLinhas();
        atribuir();
        super.gravarDados("Vendas.dat", vendasTxt); 
    }
  
}
